package unidades;
import excepcionesUnidades.*;
import excepcionesGenerales.*;
import civilizacion.Civilizacion;
import mapas.Region;

/**@author Grupo 2, Algoritmos y programacion 3, Catedra Fontela<br>1er cuat 2007
 * <br>Esta clase concreta se encarga de representar un soldado.
 */

public class Soldado extends Militar{
	
	/**
	 * Se encarga de inicializar al soldado, con los valores correctos.
	 * @param cvl Civilizacin a la cual pertenecera el soldado
	 * @param region Regin donde se debe crear el soldado
	 * @throws NullPointerException Excepcin que indica que se paso por parm
	 * una referencia nula.
	 */
	public Soldado(Civilizacion cvl, Region region) throws NullPointerException{
		super();
		try{
		setCoste(2);
		setTiempo(3);
		setVidaTotal(10);
		setVidaRestante(10);
		setAtaque(1);
		setDefensa(1);
		setDespTotal(1);
		setDespRestante(1);
		setAtaqueMax(5);
		setDefensaMax(3);
		setCivilizacion(cvl);
		setRegionAct(region);
		}
		//En ambos casos se que estoy asignando correctamente
		catch (ExcepAtributoInvalido e){}
		catch (ExcepSinMovimiento e){}
	}


	public String getNombre() {
		String nombre = "";
		for (int cont = 0; cont < getNivelPromocion(); cont++)
			nombre +="*";
		nombre += "Soldado";
		for (int cont = 0; cont < getNivelPromocion(); cont++)
			nombre +="*";
		return nombre;
	}

}
